/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package accesoDatos;

/**
 *
 * @author Oswaldo
 */
import java.sql.*;
import logica.*;
/**
 *
 * @author oswaldo
 */
public class DaoPrograma {
    
    FachadaBD fachada;
    
    public DaoPrograma(){
        fachada= new FachadaBD();
    }
  
    public int guardarPrograma(Programa p){
        String sql_guardar;
        int numFilas=0;


                sql_guardar="INSERT INTO programa VALUES ('" +
                p.getCodigo() + "', '" + p.getNombre() +  "', '" +
                p.getNivel() + "', " + p.getCreditos() + ")";
      
        try{
            Connection conn= fachada.conectar();
            Statement sentencia = conn.createStatement();

            numFilas = sentencia.executeUpdate(sql_guardar);
            conn.close();
            return numFilas;
        }
        catch(SQLException e){ System.out.println(e); }
        catch(Exception e){ System.out.println(e); }
        return -1;
    }//fin guardar

    public int actualizarPrograma(Programa p){
        String sql_act;
        int numFilas=0;

        sql_act="UPDATE programa SET nombre = '" + p.getNombre() +  "', nivel = '" +
        p.getNivel() + "', num_creditos = " + p.getCreditos()+" WHERE codigo = '"+p.getCodigo()+"'";

        try{
            Connection conn= fachada.conectar();
            Statement sentencia = conn.createStatement();

            numFilas = sentencia.executeUpdate(sql_act);
            conn.close();
            return numFilas;
        }
        catch(SQLException e){ System.out.println(e); }
        catch(Exception e){ System.out.println(e); }
        return -1;
    }//fin guardar

    public Programa consultarPrograma(String codigo){
        
        Programa p= new Programa();
        String sql_select;
        sql_select="SELECT * FROM  programa WHERE codigo='"+codigo+"'";
          System.out.println("consultando en la bd este codigo: "+codigo);
         try{
             
            Connection conn= fachada.conectar();
            System.out.println("consultando en la bd este codigo: "+codigo);

            Statement sentencia = conn.createStatement();

            ResultSet tabla = sentencia.executeQuery(sql_select);
            
            
              if(tabla.next())
              {                  
                   System.out.println("entroooo");

                   p.setCodigo(tabla.getString(1));

                   p.setNombre(tabla.getString(2));

                   p.setNivel(tabla.getString(3));

                   p.setCreditos(tabla.getInt(4));
              }else{
               p=null;
              }
            
            conn.close();
            System.out.println("cierra conexion");
            return p;
         }
         catch(SQLException e){ System.out.println(e); }
         catch(Exception e){ System.out.println(e); }
        return null;
    }
        
    public int borrarPrograma(String codigoPrograma)
    {
        int numFilas = -1;
        String sql_eliminar;
        sql_eliminar = "";
        Programa p= new Programa();
        
        try{
            
          p  = consultarPrograma(codigoPrograma);
          Connection conn= fachada.conectar();
          Statement sentencia = conn.createStatement();
          
            if(p!=null)
            {                
                sql_eliminar = "DELETE FROM programa WHERE codigo = '"+ codigoPrograma +"'";
                numFilas = sentencia.executeUpdate(sql_eliminar);
                System.out.println("programa eliminado");
                return numFilas;
            }else{
                
                System.out.println("no existe en la base de datos");
            }
                
            conn.close();
            
         }
                
         catch(SQLException e){ System.out.println(e); }
         catch(Exception e){ System.out.println(e); }
       
        return numFilas;
    }


}//fin clase



